viper包:管理你的配置

您所在的位置:网站首页 golang 读取配置文件 viper包:管理你的配置

viper包:管理你的配置

2023-03-25 10:37| 来源: 网络整理| 查看: 265

1. Viper简介2. Viper案例3. 更多

1. Viper简介

Viper是适用于Go应用程序(包括Twelve-Factor App)的完整配置解决方案。它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式。它支持以下特性:

设置默认值从JSON、TOML、YAML、HCL、envfile和Java properties格式的配置文件读取配置信息实时监控和重新读取配置文件(可选)从环境变量中读取 从远程配置系统(etcd或Consul)读取并监控配置变化 从命令行参数读取配置从buffer读取配置显式配置值

Viper能够为你执行下列操作:

查找、加载和反序列化JSON、TOML、YAML、HCL、INI、envfile和Java properties格式的配置文件。提供一种机制为你的不同配置选项设置默认值。提供一种机制来通过命令行参数覆盖指定选项的值。提供别名系统,以便在不破坏现有代码的情况下轻松重命名参数。当用户提供了与默认值相同的命令行或配置文件时,可以很容易地分辨出它们之间的区别。

Viper会按照下面的优先级。每个项目的优先级都高于它下面的项目:

显示调用Set设置值命令行参数(flag)环境变量配置文件key/value存储默认值

重要: 目前Viper配置的键(Key)是大小写不敏感的。目前Viper正在讨论是否将这一选项设为可选。

2. Viper案例vp := viper.New() //创建vipe示例vp.SetConfigName(configName) //指定配置文件名(无扩展名)vp.AutomaticEnv() /*调用时,Viper会在发出viper.Get请求时随时检查环境变量。它将应用以下规则。 它将检查环境变量的名称是否与键匹配(如果设置了EnvPrefix)。*/for _, configPath := range configPaths { vp.AddConfigPath(configPath) //配置文件路径}if err := vp.ReadInConfig(); err != nil { return errs.WithInternalError(err)}err := vp.Unmarshal(config) //将vp读到的结果解析到struct中。if err != nil { return errs.WithInternalError(err)}

3. 更多

https://blog.csdn.net/qq_41004932/article/details/119670235



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3